Pular para o conteúdo principal

Autenticação e Autorização

A autenticação e autorização são cruciais para garantir a segurança das informações acessadas através das nossas API. Utilizamos o protocolo OAuth2.0 com JWT (JSON Web Token) para autenticar e autorizar os usuários e sistemas que interagem com nossa API.

Como obter um token JWT

  • Para obter um token JWT, faça uma requisição a URL de autenticação referente ao ambiente em uso:

    • Sandbox: https://auth-sandbox.catalisa.com.br/oauth2/token
    • Produção: https://auth.catalisa.com.br/oauth2/token
  • Utilize o método POST.

  • Forneça seguintes parâmetros:

    • grant_type: client_credentials
    • client_id: CLIENT_ID
    • client_secret: CLIENT_SECRET
    • scope: escopo1 escopo2 escopoN...
tip

Lembre-se de substituir CLIENT_ID, CLIENT_SECRET pelos valores correspondentes fornecidos a você.

Para mais informações sobre os ambientes, consulte Ambientes Sandbox X Produção.

const params = new URLSearchParams();
params.append("grant_type", "client_credentials");
params.append("client_id", "CLIENT_ID");
params.append("client_secret", "CLIENT_SECRET");
params.append("scope", "escopo1 escopo2 escopoN");

fetch("https://auth-sandbox.catalisa.com.br/oauth2/token", {
method: "POST",
headers: { "Content-Type": "application/x-www-form-urlencoded" },
body: params,
}).then(async (response) => {
const data = await response.json();
console.log(data);
});
O que é o atributo 'scope'?

No contexto dos JSON Web Tokens (JWT), "scope" refere-se ao escopo de acesso que o token concede ao usuário. O escopo define as permissões e os recursos que o usuário pode acessar ao utilizar aquele token. Por exemplo, em uma aplicação, diferentes tokens podem ser emitidos para diferentes níveis de acesso, como um token que permite apenas ler informações enquanto outro permite alterações.

Se a solicitação for bem-sucedida, você receberá uma resposta contendo o token JWT, que pode ser usado para fazer solicitações autenticadas à API.

Exemplo de resposta:

{
"access_token": "abc123...",
"token_type": "Bearer",
"expires_in": 3600
}

Exemplo de uso do token obtido:

Uma vez obtido o token JWT, inclua-o no cabeçalho Authorization de suas requisições: Authorization: Bearer SEU_TOKEN_JWT

fetch("https://api-sandbox.catalisa.com.br/partnership-mgmt/api/v1/partners", {
method: "GET",
headers: { "Authorization": "Bearer abc123..." },
}).then(async (response) => {
const data = await response.json();
console.log(data);
});
Tempo de expiração de um token JWT

O token tem uma validade, geralmente de 1 hora (expires_in será 3600 segundos). Após esse período, você precisará obter um novo token.